Leaderboard with irregularity flags in an exercise machine system

ABSTRACT

Leaderboard with irregularity flags in an exercise machine system. In one aspect of the disclosure, a method may include executing a video workout program on first and second exercise machines, monitoring first and second performance parameters of first and second users during the execution of the video workout program, displaying a leaderboard which displays and ranks first and second performance indicators of the first and second users based on the first and second performance parameters, detecting an irregularity in the first performance parameters of the first user, and updating the leaderboard to display an irregularity flag associated with the first performance indicator of the first user to indicate the irregularity in the performance of the first user during the workout.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims priority to provisional patent application No. 62/994,204 entitled “LEADERBOARD WITH IRREGULARITY FLAGS IN AN EXERCISE MACHINE SYSTEM” filed Mar. 24, 2020, which application is herein incorporated by reference for all that it discloses.

BACKGROUND

Stationary exercise machines have become an increasingly popular way to exercise. To combat the boredom and burnout that is often experienced by users that exercise with these exercise machines, exercise machines are often sold with a number of different pre-programmed workout programs that are saved within the electronics of the exercise machines. For example, these workout programs may include a “fat burn” workout program, a “hills” workout program, a “performance” workout program, and/or other workout programs.

To enable a user to become more immersed in a workout performed on an exercise machine, some exercise machines are capable of executing video workout programs. A video workout program generally includes a video that depicts a trainer performing a workout to allow one or more users mimic the workout. For example, where a trainer is running at 6 miles per hour in a video of a video workout program, multiple users may control the running belts of their respective treadmills to likewise operate at 6 miles per hour. Where multiple users are following a trainer depicted in a video workout program, the video workout program may include a leaderboard that ranks the performances of the multiple users during the video workout program. Effective leaderboards can connect users with each other and can make a workout more fun.

One problem faced by users when following a video workout program that includes a leaderboard is that the leaderboard rankings are sometime inaccurate because they do not reflect actual performances by all users. For example, some users may cause their performance during a workout to be reported inaccurately, either intentionally or unintentionally, resulting in a higher leaderboard ranking for those users. Inaccurate leaderboard rankings can be frustrating to users whose performances are accurately reported, especially when the users with inaccurately-reported performances appear higher in the leaderboard rankings. This lack of accuracy in leaderboard rankings in a video workout program can seem unfair and be upsetting to a user of an exercise machine, and can thus limit the ability of the leaderboard to connect the user with other users and make the workout more fun.

The subject matter claimed herein is not limited to embodiments that solve any disadvantages or that operate only in environments such as those described above. Rather, this background is only provided to illustrate one example technology area where some embodiments described herein may be practiced.

SUMMARY

In one aspect of the disclosure, a method for updating a leaderboard in an exercise machine system may include executing, on a first exercise machine, a video workout program to enable a first user to perform a workout on the first exercise machine, monitoring, at the first exercise machine, first performance parameters of the first user during the execution of the video workout program on the first exercise machine, executing, on a second exercise machine, the video workout program to enable a second user to perform the workout on the second exercise machine, and monitoring, at the second exercise machine, second performance parameters of the second user during the execution of the video workout program on the second exercise machine. The method may also include displaying, on a first display at the first exercise machine and on a second display at the second exercise machine, a leaderboard which displays and ranks a first performance indicator of the first user and a second performance indicator of the second user based on the first performance parameters and the second performance parameters, detecting an irregularity in the first performance parameters of the first user, and updating, on the first display at the first exercise machine and on the second display at the second exercise machine, the leaderboard to display an irregularity flag associated with the first performance indicator of the first user to indicate the irregularity in the performance of the first user during the workout.

Another aspect of the disclosure may include any combination of the above-mentioned features and may further include the irregularity flag including a colored shape displayed with the first performance indicator of the first user.

Another aspect of the disclosure may include any combination of the above-mentioned features and may further include the colored shape including a yellow circle.

Another aspect of the disclosure may include any combination of the above-mentioned features and may further include the detecting of the irregularity in the first performance parameters of the first user including detecting that the video workout program was manually paused on the first exercise machine.

Another aspect of the disclosure may include any combination of the above-mentioned features and may further include the detecting of the irregularity in the first performance parameters of the first user including detecting that an incline of the first exercise machine was manually decreased during the execution of the video workout program on the first exercise machine.

Another aspect of the disclosure may include any combination of the above-mentioned features and may further include the detecting of the irregularity in the first performance parameters of the first user including detecting that a resistance of the first exercise machine was manually decreased during the execution of the video workout program on the first exercise machine.

Another aspect of the disclosure may include any combination of the above-mentioned features and may further include the first exercise machine including a first treadmill including a running deck, a running belt, and an electric motor configured to move the running belt during the execution of the video workout program.

Another aspect of the disclosure may include any combination of the above-mentioned features and may further include the detecting of the irregularity in the first performance parameters of the first user including detecting that the first user unexpectedly stepped off of the running belt during the execution of the video workout program on the first treadmill.

Another aspect of the disclosure may include any combination of the above-mentioned features and may further include the detecting that the first user unexpectedly stepped off of the running belt during the performance of the workout on the first treadmill including employing a camera at the first treadmill to automatically capture one or more images of the first user unexpectedly absent from the running belt.

Another aspect of the disclosure may include any combination of the above-mentioned features and may further include the detecting that the first user unexpectedly stepped off of the running belt during the performance of the workout on the first treadmill including employing a heart rate monitor to automatically detect an irregular decrease in a heart rate of the first user.

Another aspect of the disclosure may include any combination of the above-mentioned features and may further include the detecting that the first user unexpectedly stepped off of the running belt during the performance of the workout on the first treadmill including employing a current sensor on the electric motor of the first treadmill to automatically detect an irregular decrease in a current drawn to drive the electric motor.

Another aspect of the disclosure may include any combination of the above-mentioned features and may further include the detecting of the irregularity in the first performance parameters of the first user including detecting that the first user is impersonating an expected user during the execution of the video workout program on the first treadmill, and the detecting that the first user is impersonating the expected user during the execution of the video workout program on the first treadmill including employing a current sensor on the electric motor of the first treadmill to automatically detect an irregular current drawn to drive the electric motor based on an expected weight of the expected user.

Another aspect of the disclosure may include any combination of the above-mentioned features and may further include the detecting of the irregularity in the first performance parameters of the first user including detecting that a speed of the running belt of the first treadmill was manually decreased during the execution of the video workout program on the first treadmill.

Another aspect of the disclosure may include any combination of the above-mentioned features and may further include the detecting of the irregularity in the first performance parameters of the first user including detecting that the first user is impersonating an expected user during the execution of the video workout program on the first exercise machine.

Another aspect of the disclosure may include any combination of the above-mentioned features and may further include the detecting that the first user is impersonating the expected user during the execution of the video workout program on the first exercise machine including employing a camera and facial recognition techniques to automatically detect that a face of the first user does not match an expected face of the expected user.

Another aspect of the disclosure may include any combination of the above-mentioned features and may further include the detecting that the first user is impersonating the expected user during the execution of the video workout program on the first exercise machine including employing a heart rate monitor at the first exercise machine to automatically detect that a heart rate pattern of the first user does not match an expected heart rate pattern of the expected user.

Another aspect of the disclosure may include any combination of the above-mentioned features and may further include, or may stand alone by including, a method for updating a leaderboard in an exercise machine system may include executing, on a first exercise machine, a video workout program to enable a first user to perform a workout on the first exercise machine. The video workout program may include a video that depicts a trainer performing the workout and exercise machine control commands corresponding to the depiction of the trainer performing the workout in the video. The executing video workout program may continuously control one or more first moveable members of the first exercise machine using the exercise machine control commands. The method may also include monitoring, at the first exercise machine, first performance parameters of the first user during the execution of the video workout program on the first exercise machine. The method may further include executing, on a second exercise machine, the video workout program to enable a second user to perform the workout on the second exercise machine. The executing video workout program may continuously control one or more second moveable members of the second exercise machine using the exercise machine control commands. The method may also include monitoring, at the second exercise machine, second performance parameters of the second user during the execution of the video workout program on the second exercise machine, and displaying, on a first display at the first exercise machine and on a second display at the second exercise machine, a leaderboard which displays and ranks a first performance indicator of the first user and a second performance indicator of the second user based on the first performance parameters and the second performance parameters. The method may further include, detecting an irregularity in the first performance parameters of the first user, and updating, on the first display at the first exercise machine and on the second display at the second exercise machine, the leaderboard to display an irregularity flag associated with the first performance indicator of the first user to indicate the irregularity in the performance of the first user during the workout.

Another aspect of the disclosure may include any combination of the above-mentioned features and may further include the detecting of the irregularity in the first performance parameters of the first user including detecting that the first user manually overrode control by the exercise machine control commands of the video workout program of the one or more first moveable members of the first exercise machine during the execution of the video workout program on the first exercise machine.

Another aspect of the disclosure may include any combination of the above-mentioned features and may further include the video workout program being a live video workout program.

Another aspect of the disclosure may include any combination of the above-mentioned features and may further include storing the irregularity flag associated with the first performance indicator of the first user with an archived version of the leaderboard for the video workout program executed on the first exercise machine, and/or with an archived version of the first performance parameters for the video workout program executed on the first exercise machine.

It is to be understood that both the foregoing summary and the following detailed description are explanatory and are not restrictive of the invention as claimed.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments will be described and explained with additional specificity and detail through the use of the accompanying drawings in which:

FIG. 1 illustrates a flowchart of an example exercise machine system;

FIG. 2 illustrates a block diagram of an example exercise machine;

FIGS. 3A-3D illustrate video frames and charts that may be employed in controlling an exercise machine using exercise machine control commands of a video workout program;

FIGS. 4A-4D illustrate video frames that may be employed in updating a leaderboard in an exercise machine system with an irregularity flag;

FIG. 5 illustrates a flowchart of an example method for updating a leaderboard in an exercise machine system with an irregularity flag; and

FIG. 6 illustrates an example computer system that may be employed in updating a leaderboard in an exercise machine system with an irregularity flag.

Throughout the drawings, identical reference numbers designate similar, but not necessarily identical, elements.

DETAILED DESCRIPTION

While conventional stationary exercise machines generally include multiple conventional workout programs that are saved within the electronics of the exercise machines, these conventional workout programs are generally not effective at enabling a user to become immersed in workouts performed on the exercise machines. Therefore, some exercise machines are capable of being updated with video workout programs that include a video of a trainer performing a workout to allow one or more users to mimic the workout of the trainer. Video workout programs may also include corresponding control commands that control the exercise machine to mimic the workout performed by the trainer in the video. For example, where a trainer is depicted as running at 6 miles per hour in the video (either along a real-world path such as in a race setting, or on a treadmill in a class setting) of a video workout program, multiple users may control the running belts of their respective treadmills to likewise operate at 6 miles per hour, or the corresponding control commands may control the running belts of their respective treadmills to likewise operate at 6 miles per hour. Where multiple users are following a trainer depicted in a video workout program, the video workout program may include a leaderboard that ranks the performances of the multiple users during the video workout program. Effective leaderboards can connect users with each other and can make a workout more fun.

Unfortunately, however, leaderboards are sometimes less effective because their rankings are sometime inaccurate because they do not reflect actual performances by all users. For example, some users may cause their performance during a workout to be reported inaccurately, either intentionally or unintentionally, resulting in a higher leaderboard ranking for those users. For example, where a trainer is depicted as running at 6 miles per hour at a 4.5% incline in the video of a video workout program, most users may control the running belts of their respective treadmills to likewise operate at 6 miles per hour at a 4.5% incline, or the corresponding control commands may control the running belts of their respective treadmills to likewise operate at 6 miles per hour at a 4.5% incline, and further accurately report that they are following the workout of the trainer. However, some users may manually cause the running belts of their respective treadmills to operate at 6 miles per hour but at only a 1% incline, but inaccurately report, either intentionally or unintentionally, that they are following the workout of the trainer (including the 4.5% incline). Because running at a 1% incline is dramatically easier than running at a 4.5% incline, these inaccurately-reporting users may run farther than the accurately-reporting users, resulting in a higher leaderboard ranking for these inaccurately-reporting users. Inaccurate leaderboard rankings can be frustrating to users whose performances are accurately reported, especially when the users with inaccurately-reported performances appear higher in the leaderboard rankings. This lack of accuracy in leaderboard rankings in a video workout program can seem unfair and be upsetting to an accurately-reporting user of an exercise machine, and can thus limit the ability of the leaderboard to connect the user with other users and to make the workout more fun.

Some embodiments disclosed herein may include methods for updating a leaderboard in an exercise machine system with an irregularity flag. For example, a method may include executing a video workout program (which may be live or archived) on first and second exercise machines (which may be located locally, such as in the same room in a class setting, or may be located remotely from one another, such as in a different homes) to enable first and second users to perform a workout (either simultaneously or at different times), and monitoring performance parameters of the first and second users during the execution of the video workout program on the first and second exercise machines. The method may further include displaying, on first and second displays at the first and second exercise machines, a leaderboard which displays and ranks a first performance indicator of the first user and a second performance indicator of the second user based on the first and second performance parameters. For example, the leaderboard may continuously rank the first and second users based on some performance parameter, such as which user has traveled the greatest distance or gained the most elevation at any given point in time during the workout. The method may also include detecting an irregularity in the performance parameters of the first user (e.g., detecting that the first user manually decreased the incline percentage on their treadmill, resulting in the first user no longer fairly competing against the second user who maintained their incline percentage at the prescribed percentage). When such an irregularity is detected, the method may include updating the leaderboard, on the first and second displays at the first and second exercise machines, to display an irregularity flag (e.g., a yellow circle) associated with the first performance indicator of the first user to indicate the irregularity in the performance of the first user during the workout.

Displaying any user with detected irregularities in their performance parameters on the leaderboard with an irregularity flag may lessen or eliminate the frustration and sense of unfairness felt by users who follow the workout prescribed in a video workout program. As such, effectively employing irregularity flags on a leaderboard may allow users to have greater trust in the leaderboard rankings, and may allow a leaderboard to more effectively connect users with each other and make the workout more fun.

Turning now to the drawings, FIG. 1 illustrates a flowchart of an example exercise machine system 100. The exercise machine system 100 may include a remote location 102 and a local location 104 connected by a network 118.

In some embodiments, the network 118 may be configured to communicatively couple the any two devices in the exercise machine system 100 to one another, and/or to other devices. In some embodiments, the network 118 may be any wired or wireless network, or combination of multiple networks, configured to send and receive communications between systems and devices. In some embodiments, the network 118 may include a Personal Area Network (PAN), a Local Area Network (LAN), a Metropolitan Area Network (MAN), a Wide Area Network (WAN), a Storage Area Network (SAN), the Internet, or some combination thereof. In some embodiments, the network 118 may also be coupled to, or may include, portions of a telecommunications network, including telephone lines, for sending data in a variety of different communication protocols, such as a cellular network or a Voice over IP (VoIP) network.

In the remote location 102, the exercise machine system 100 may include a video camera 106 a or 106 b that may be employed to capture video of a trainer 108 a or 108 b performing a workout, and which includes stabilization capabilities to avoid the captured video from being unduly shaky. For example, the video camera 106 a may be employed by a videographer 110 a to capture video of the trainer 108 a performing a workout in which the trainer 108 a runs a live marathon. Similarly, the video camera 106 b may be employed by a videographer 110 b to capture video of the trainer 108 b performing a workout in which the trainer 108 b rides a bicycle in a live road bicycle race. In either example, the result may be captured video that can be sent to a remote server 112 for further processing. The video may be formatted in any one of multiple video formats, at least some of which being capable of supporting a subtitle stream. Some example formats may include, but are not limited to, MPEG-4, Dynamic Adaptive Streaming over HTTP (MPEG-DASH), and HTTP Live Streaming (HLS).

Next, a producer (not shown) may utilize a computer 114 to input exercise machine control commands for the video into a video workout program, which may be encoded into a subtitle stream of the video, or may be encoded separately from the video. For example, where the video is being produced to be utilized as a live video workout program, the producer may input the exercise machine control commands using the computer 114 synchronously with the videographer 110 a or 110 b using the video camera 106 a or 106 b to capture video of the trainer 108 a or 108 b performing the workout (e.g., during a live event). In this example, the producer may also give corresponding instructions to the trainer, such as through an earpiece worn by the trainer, in order to help the trainer and the producer be in sync following a common script or plan for the workout. Alternatively, where the video is produced to be utilized in a pre-recorded video workout program, the producer may input exercise machine control commands using the computer 114 subsequent to the videographer 110 a or 110 b using the video camera 106 a or 106 b to capture video of the trainer 108 a or 108 b (e.g., minutes, hours, or days after the live event).

In some embodiments, the video workout program, including the captured video and the control commands (which may be encoded in the subtitle stream of the video, or may be encoded separately from the video) may then be transmitted over the network 118 from the remote server 112 in the remote location 102 to a local server 116 in the local location 104.

The video workout program may then be transmitted from the local server 116 to be used in connection with an exercise machine 120 a, 120 b, 120 c, or 120 d. For example, the video workout program may be transmitted from the local server 116 to a console 122 a, 122 b, 122 c, or 122 d of the exercise machine 120 a, 120 b, 120 c, or 120 d, which may include a display, such as a touchscreen display. Alternatively, a separate tablet 124 may function as a console, or may function in connection with a console, of the exercise machine 120 a, 120 b, 120 c, or 120 d, and may also include a display, such as a touchscreen display. The tablet 124 may communicate with the console 122 a, 122 b, 122 c, or 122 d, and/or with the exercise machine 120 a, 120 b, 120 c, or 120 d, via a network connection, such as a Bluetooth connection. In either example, the video and the control commands (which may be encoded in the subtitle stream of the video) may be decoded and/or accessed. Then, the console 122 a, 122 b, 122 c, or 122 d and/or the tablet 124 may display the video from the video workout program (e.g., of the trainer 108 a or 108 b performing the marathon or the road bicycle race at the remote location 102) while simultaneously controlling one or more moveable members of the exercise machine 120 a, 120 b, 120 c, or 120 d using the control commands. Additional details regarding controlling an exercise machine using control commands can be found in U.S. patent application Ser. No. 16/742,762, filed Jan. 14, 2020, which is incorporated herein by reference in its entirety for all that it discloses.

Further, during performance of a workout by a user 109 a using the video workout program on the exercise machine 120 a, 120 b, 120 c, or 120 d, a heart rate of the user 109 a may be monitored by the console 122 a, 122 b, 122 c, or 122 d, and/or the tablet 124. This heart rate monitoring may be accomplished by receiving continuous heart rate measurements wirelessly (such as over Bluetooth or Ant+) from a heart rate monitoring device worn by the user 109 a, such as a heart rate strap 111 b or a heart rate watch 111 a, or other wearable heart rate monitor. Alternatively, the heart rate monitoring device may be built into another device, such as being built into handlebars or handgrips of the exercise machine 120 a, 120 b, 120 c, or 120 d.

The exercise machine 120 a is illustrated in FIG. 1 as a treadmill. The treadmill 120 a may include multiple different moveable members, including a running belt 126 a and a running deck 126 b, which may include one or more operating parameters that are selectively adjustable within a limited range. During performance of a workout using a video workout program on the treadmill 120 a, the running belt 126 a may rotate and the running deck 126 b may incline. One example of an operating parameter on the treadmill 120 a is a speed of the running belt 126 a. The running belt 126 a may rotate at different speeds within a limited range. An actuator (see FIG. 2 ), for example a belt motor, may selectively adjust the speed at which the running belt 126 a rotates within the limited range. Another example of an operating parameter on the treadmill 120 a is the inclination of running deck 126 b. The running deck 126 b may be selectively inclinable to different angles within a limited range. An actuator, for example an incline motor, may selectively adjust the incline of the running deck 126 b within the limited range.

The exercise machine 120 b is illustrated in FIG. 1 as an elliptical machine. The elliptical machine 120 b may include multiple different moveable members, including a flywheel 126 c, foot rails or pedals 126 d, and handles 126 e, which include one or more operating parameters that are selectively adjustable within a limited range. During performance of a workout using a video workout program on the elliptical machine 120 b, movement of the foot rails or pedals 126 d and the handles 126 e may cause the flywheel 126 c to rotate. One example of an operating parameter on the elliptical machine 120 b is the amount of resistance applied to the flywheel 126 c. A differing amount of resistance can be applied to the flywheel 126 c to make the movement of the foot rails or pedals 126 d and the handles 126 e more difficult or less difficult. An actuator, such as a brake, may be used to selectively adjust the amount of resistance that is applied to the flywheel 126 c. Another example of an operating parameter on the elliptical machine 120 b is the inclination of foot rails or pedals 126 d. The foot rails or pedals 126 d may be inclinable to different angles within a limited range. An actuator, such as an incline motor, may selectively adjust the incline of the foot rails or pedals 126 d within the limited range. Yet another example of an operating parameter on exercise machine 120 b is the stride length of the foot rails or pedals 126 d and/or the handles 126 e. The stride length of the foot rails or pedals 126 d and/or the handles 126 e may be adjustable to different distances within a limited range. An actuator, for example a stride length motor, may selectively adjust the stride length of the foot rails or pedals 126 d and/or the handles 126 e within the limited range.

The exercise machine 120 c is illustrated in FIG. 1 as an exercise bike. The exercise bike 120 c may include multiple different moveable members, including a flywheel 126 f, pedals 126 g, and a frame 126 h, which include one or more operating parameters that are selectively adjustable within a limited range. During performance of a workout using a video workout program on the exercise bike 120 c, movement of the pedals 126 g may cause the flywheel 126 f to rotate. One example of an operating parameter on the exercise bike 120 c is the amount of resistance applied to the flywheel 126 f. A differing amount of resistance can be applied to the flywheel 126 f to make rotation of the pedals 126 g more difficult or less difficult. An actuator, such as a brake, may be used to selectively adjust the amount of resistance that is applied to the flywheel 126 f within the limited range. Another example of an operating parameter on the exercise bike 120 c is the position of the frame 126 h. The frame 126 h may tilt forward, backward, or from side to side within a limited range. An actuator, such as a tilt motor, may selectively adjust the position of the frame 126 h within the limited range.

The exercise machine 120 d is illustrated in FIG. 1 as a second treadmill with a running belt 126 j and a running deck 126 k. During performance of a workout using a video workout program on the treadmill 120 d, the running belt 126 j may rotate and the running deck 126 k may incline, in a similar fashion as with the treadmill 120 a.

In some embodiments, multiple users may use the same exercise machine or different exercise machines to perform the same workout using the same video workout program, either simultaneously (e.g., by performing a live video workout or by performing an archived video workout with the same actual start time) or at separate times (e.g., by performing an archived video workout with different start times, but that are time shifted to have the same virtual start times). For example, the trainer 108 a may be depicted as performing a running workout in the video (either along a real-world path, or on a treadmill) of a video workout program, and the user 109 a may perform the same running workout of the video workout program on the treadmill 120 a. Simultaneously at two or more separate times, at the same local location 104 or at two or more separate locations, multiple others users, including the user 109 b, may also perform the same running workout of the video workout program on their separate treadmills, such as on the treadmill 120 d. Where multiple users are following a trainer depicted in a video workout program, the video workout program may include a leaderboard (e.g., the leaderboards 420 a-420 d disclosed in FIGS. 4A-4D) that ranks the performances of the multiple users during the video workout program.

Unfortunately, however, leaderboard rankings are sometime inaccurate in that they do not reflect actual performances by all users. Continuing the example above, the user 109 a may cause his performance during the running workout to be reported inaccurately, either intentionally or unintentionally, resulting in a higher leaderboard ranking for the user 109 a. For example, where the trainer 108 a is depicted as running at 6 miles per hour at a 4.5% incline in the video of the video workout program, while most of the users, including the user 109 b, may control the running belts of their respective treadmills to likewise operate at 6 miles per hour at a 4.5% incline, or the corresponding control commands may control the running belts of their respective treadmills to likewise operate at 6 miles per hour at a 4.5% incline, the user 109 a may manually cause the running belt 126 a of his treadmill 120 a to operate at less than 6 miles per hour (e.g., at 4 miles per hour) and/or at less than a 4.5% incline (e.g., at a 1% incline), but inaccurately report, either intentionally or unintentionally, that he is following the workout of the trainer (including the 6 miles per hour and the 4.5% incline). Because running at 4 miles per hour and/or at a 1% incline is dramatically easier than running at 6 miles per hour and at a 4.5% incline, the inaccurately-reporting user 109 a may run farther than the accurately-reporting users (such as the user 109 b), resulting in a higher leaderboard ranking for the inaccurately-reporting user 109 a. Inaccurate leaderboard rankings can be frustrating to users whose performances are accurately reported, especially when the user 109 a with the inaccurately-reported performance appears higher in the leaderboard rankings. This lack of accuracy in leaderboard rankings in a video workout program can seem unfair and be upsetting to an accurately-reporting user of an exercise machine, such as the user 109 b, and can limit the ability of the leaderboard to connect the user 109 b with other users and to make the workout more fun.

Continuing with the example above, some methods disclosed herein may include detecting an irregularity in the performance parameters of the user 109 a (e.g., detecting that the user 109 a manually decreased the speed and/or decreased the incline percentage on his treadmill 120 a, resulting in the user 109 a no longer fairly competing against the other users, such as the user 109 b, who maintained their speed and incline percentage at the prescribed speed and incline percentage). When such an irregularity is detected, some methods disclosed herein may include updating the leaderboard to display an irregularity flag (e.g., a yellow circle) associated with the first performance indicator of the user 109 a to indicate the irregularity in the performance of the user 109 a during the workout. Displaying the user 109 a with an irregularity flag may lessen or eliminate the frustration and sense of unfairness felt by the other users, such as the user 109 b, who follow the workout prescribed in a video workout program. As such, effectively employing irregularity flags on a leaderboard may allow users to have greater trust in the leaderboard rankings, and may allow the leaderboard to connect users with each other and make the workout more fun.

FIG. 2 illustrates a block diagram of an example exercise machine 120. The exercise machine 120 of FIG. 2 may represent, and may include similar components to, any of the exercise machine 120 a, 120 b, 120 c, or 120 d of FIG. 1 , for example.

As disclosed in FIG. 2 , the exercise machine 120 may include a processing unit 150, a receiving port 152, an actuator 154, and a moveable member 126. The moveable member 126, which may be similar to any of the moveable members 126 a-126 k of FIG. 1 , for example. The processing unit 150 may be communicatively connected to the receiving port 152 and may be included within a console 122, which may be similar to any of the consoles 122 a, 122 b, 122 c, or 122 d of FIG. 1 , for example. The processing unit 150 may also be communicatively connected to the actuator 154. In response to control commands executed by the processing unit 150, the actuator 154 may selectively adjust one or more operating parameters of the moveable member 126 within a limited range.

Data, including data in a video workout program, can be received by the exercise machine 120 through the receiving port 152. As stated previously, a video workout program may include video as well as control commands. Control commands may provide control instructions to an exercise machine (such as a treadmill, an elliptical machine, an exercise bike, or a rower machine). Control commands may include, for example, control commands for a belt motor, an incline motor, and other actuators. In addition to actuator control commands, control commands may further include distance control commands, time control commands, and/or heart rate zone control commands. These control commands may provide a series of actuator control commands for execution at specific times or at specific distances. For example, a control command for an actuator to be at a certain level for a specific amount of time or for a specific distance. These control commands may also provide a series of actuator control commands for execution at specific times or at specific distances based on a user's monitored heart rate or heart rate trends over time. For example, a control command for an actuator may dictate a certain heart rate zone for a certain amount of time or distance, and a difficulty level of this control command may be dynamically scaled based on a user's monitored heart rate in order to get or keep the user in the certain heart rate zone for the certain amount of time or distance. Additional details regarding dynamically scaling a difficulty level of a control command based on a user's monitored heart rate can be found in U.S. patent application Ser. No. 16/742,762, filed Jan. 14, 2020, which is incorporated herein by reference in its entirety for all that it discloses.

Using a control command, received at the receiving port 152 in a video workout program, such as a control command that is decoded from a subtitle stream of a video of a video workout program for example, the processing unit 150 may control the actuator 154 on the exercise machine 120 in the sequence and at the times or distances specified by the control command. For example, actuator control commands that provide the processing unit 150 with commands for controlling a belt motor, an incline motor, a flywheel brake, stride length motor, or another actuator may be included in the control commands received in a video workout program at the exercise machine 120.

Actuator control commands can be received for different time segments or distance segments of a workout. For example, a ten minute workout may have twenty different control commands that provide the processing unit 150 with a different control command for controlling an actuator every thirty seconds. Alternatively, a ten mile workout may have twenty different control commands that provide a processing unit with a different control command for controlling an actuator every half mile. Workouts may be of any duration or distance and different control commands may be received at any time or distance during the workout. Alternatively, a 5 minute workout may have 300 different control commands that provide the processing unit 150 with a different control command for controlling an actuator once per second.

The control commands received in a video workout program at the exercise machine 120 may be executed by the processing unit 150 in a number of different ways. For example, the control commands may be received and then stored into a read/write memory that is included in the processing unit 150. Alternatively, the control commands may be streamed to the exercise machine 120 in real-time. The control commands may also be received and/or executed from a portable memory device, such as a USB memory stick or an SD card.

In some embodiments, data received by the exercise machine 120 through the receiving port 152 with the video workout program may also include leaderboard data associated with a leaderboard of the video workout program. This leaderboard data may include data associated with individual users who are performing or who have performed a workout of the video workout program. This leaderboard data may be employed by the processing unit 150 to display a leaderboard along with a video of the video workout program on a display associated with the exercise machine 120. Further, in some embodiments, control commands executed by the processing unit 150 may be manually overridden by a user. For example, actuator control commands received in a video workout program that provide the processing unit 150 with commands for controlling a motor of the running belt 126 a of the treadmill 120 a (see FIG. 1 ) at 6 miles per hour may be manually overridden by the user 109 a to cause the motor of the running belt 126 a of the treadmill 120 a to operate at a speed that is faster or slower than 6 miles per hour (e.g., 4 miles per hour). Also, in some embodiments, the processing unit 150 may be configured to detect any irregularities in the performance parameters of the user 109 a (e.g., detecting that the user 109 a manually decreased the speed on his treadmill 120 a from 6 miles per hour to 4 miles per hour, resulting in the user 109 a no longer fairly competing against the other users who maintained their speed and incline percentage at the prescribed speed). When such an irregularity is detected by the processing unit 150, the processing unit 150 may update the leaderboard to display an irregularity flag (e.g., a yellow circle) associated with the first performance indicator of the user 109 a to indicate the irregularity in the performance of the user 109 a during the workout. Displaying the user 109 a with an irregularity flag may lessen or eliminate the frustration and sense of unfairness felt by the other users who follow the workout prescribed in a video workout program. As such, effectively employing irregularity flags on a leaderboard may allow users to have greater trust in the leaderboard rankings, and may allow the leaderboard to connect users with each other and make the workout more fun.

FIGS. 3A-3D illustrate video frames and charts that may be employed in controlling an exercise machine using exercise machine control commands of a video workout program. In particular, FIGS. 3A-3D illustrate frames 300 a-300 d of video captured by the videographer 110 a (see FIG. 1 ) of the trainer 108 a performing a workout, which may include running a marathon along a path 306. Further, FIGS. 3A-3D also illustrate data charts 302 a-302 d which contain certain relevant data parameters gathered during the workout at the same time that the corresponding frame of video is captured, manually or automatically using one or more sensors, for example. Finally, FIGS. 3A-3D also illustrate comma separated values (CSV) encoding charts 304 a-304 d showing how the data parameters from the data charts 302 a-302 d is translated and encoded into control commands.

The frames 300 a-300 d of video captured of the trainer 108 a running the marathon represent frames of video captured in succession, one second apart. It is understood, however, that other intervening frames of video may also be captured, such as 29 intervening frames of video between each of the successive frames 300 a-300 d, resulting in a captured video having 30 frames per second. The reason that only one frame per second are illustrated in the frames 300 a-300 d of video is because the encoding of control commands of a video workout program into a subtitle stream of a video of the video workout program may only occur only once per second in the example encoding disclosed in FIGS. 3A-3D. Other encoding rates are also possible, such as encoding twice per second or four times per second, for example. In some embodiments, the encoding rate may be up to as many times per second as there are frames per second (e.g., where the frame rate is 30 frames per second, the encoding rate may up to 30 times per second).

As disclosed in the frame 300 a of FIG. 3A, the trainer 108 a may be performing a workout by running a marathon along the path 306. As disclosed in the data chart 302 a, at the time that the frame 300 a is captured by a video camera, 605 seconds may have transpired since the start of the workout, the trainer 108 a may be running at a pace of 6 miles per hour up a 0.5% incline, the trainer 108 a may currently be in a heart rate zone 3 with a heart rate of 150 beats per minute, and may be in a workout state of “In Workout” (as opposed to a workout state of “Warmup” or “Cool Down”). As disclosed in the CSV encoding chart 304 a, the data parameters from the data chart 302 a may be encoded into a CSV encoding 305 a in a subtitle stream of a video, which is timed with (e.g., linked or tied to) the frame 300 a, as “605,6,0.5,0,0,0,3,150,1”, which represents 605 seconds since the start of the workout, a speed of 6 miles per hour, a 0.5% incline, resistance being non-applicable (with N/A being represented by a 0), a target revolutions per minute being non-applicable (with N/A being represented by a 0), a target watts being non-applicable (with N/A being represented by a 0), a target heart rate zone of 3, a target heart rate of 150, and a workout state of 1 (which represents a workout state of “In Workout”). In some embodiments, the CSV encoding 305 a may have all values separated by a comma, may have all values be numbers (e.g., numbers between −99999.0 to 99999.0), may not have spaces between values, may encode values in order (e.g., so that the position of each value can be used to interpret the meaning of each value), and may allow for a new value if the new value is appended at the end of the CSV encoding.

As disclosed in the frame 300 b of FIG. 3B, the trainer 108 a may continue performing the workout by running the marathon along the path 306. As disclosed in the data chart 302 b, at the time that the frame 300 b is captured by a video camera, 606 seconds may have transpired since the start of the workout (e.g. one additional second has transpired since the frame 300 a was captured), the trainer 108 a may still be running at a pace of 6 miles per hour up a 0.5% incline, the trainer 108 a may still be in heart rate zone 3 but with an increased heart rate of 152 beats per minute, and may still be in a workout state of “In Workout.” As illustrated in frame 300 b, the trainer 108 a may be approaching a transition 308 in the path 306 where the incline transitions from a relatively gradual 0.5% incline to a relatively steep 4.5% incline. As disclosed in the CSV encoding chart 304 b, the data parameters from the data chart 302 b may be encoded into a CSV encoding 305 b in a subtitle stream of a video, which is timed with frame 300 b, as “606,6,0.5,0,0,0,3,152,1”.

As disclosed in the frame 300 c of FIG. 3C, the trainer 108 a may continue performing the workout by running the marathon along the path 306. As disclosed in the data chart 302 c, at the time that the frame 300 c is captured by a video camera, 607 seconds may have transpired since the start of the workout (e.g. one additional second has transpired since the frame 300 b was captured, and two additional seconds have transpired since the frame 300 a was captured), the trainer 108 a may now have slowed to running at a pace of 5 miles per hour up a 4.5% incline, the trainer 108 a may still be in heart rate zone 3 but with an increased heart rate of 156 beats per minute, and may still be in a workout state of “In Workout.” As illustrated in frame 300 c, the trainer 108 a may have crossed over the transition 308 in the path 306 where the incline transitions from the relatively gradual 0.5% incline to the relatively steep 4.5% incline, which may account for the slower speed and increased heart rate of the trainer 108 a. As disclosed in the CSV encoding chart 304 c, the data parameters from the data chart 302 c may be encoded into a CSV encoding 305 c in a subtitle stream of a video, which is timed with the frame 300 c, as “607,5,4.5,0,0,0,3,156,1”.

As disclosed in the frame 300 d of FIG. 3D, the trainer 108 a may continue performing the workout by running the marathon along the path 306. As disclosed in the data chart 302 d, at the time that the frame 300 d is captured by a video camera, 608 seconds may have transpired since the start of the workout (e.g. one additional second has transpired since the frame 300 c was captured, two additional seconds have transpired since the frame 300 b was captured, and three additional seconds have transpired since the frame 300 a was captured), the trainer 108 a may still be running at a pace of 5 miles per hour up a 4.5% incline, the trainer 108 a may still be in heart rate zone 3 but with an increased heart rate of 160 beats per minute, and may still be in a workout state of “In Workout.” As disclosed in the CSV encoding chart 304 d, the data parameters from the data chart 302 d may be encoded into a CSV encoding 305 d in a subtitle stream of a video, which is timed with the frame 300 d, as “608,5,4.5,0,0,0,3,160,1”.

Due to the fact that, in a video, the frames 300 a-300 d from the video are timed with frames of the subtitle stream, the encoding of control commands in a subtitle stream, such as in the CSV encodings 305 a-305 d illustrated in the CSV encoding charts 304 a-304 d, maintains synchronization of the video of a video workout program and of corresponding control commands of the video workout program. For example, even if the video is buffered or otherwise delayed, the subtitle stream will also be buffered or otherwise delayed by an identical amount, which will maintain synchronization of the video and of corresponding control commands. This synchronization between a video and corresponding control commands in a video workout program can enable a user to become immersed in a workout on the exercise machine.

FIGS. 4A-4D illustrate video frames that may be employed in updating a leaderboard in an exercise machine system with an irregularity flag. In particular, FIGS. 4A-4D illustrate frames 400 a-400 d of video captured by the videographer 110 a (see FIG. 1 ) of the trainer 108 a performing a workout, which may include running a marathon along a path 406. Further, FIGS. 4A-4D also illustrate widgets 408 a-408 d and 410 a-410 d which may overlay the frames 400 a-400 d, respectively, when dynamic scaling based on heart rate monitoring is active during a workout. In some embodiments, the dynamic scaling can be toggled on and off by a user using, for example, a “Smart HR Training” control. FIGS. 4A-4D also illustrate leaderboards 420 a-420 d that rank the performances of multiple users during the video workout program.

The frames 400 a-400 d of a video, which show the trainer 108 a running the marathon, represent frames of video captured over time. It is understood, however, that other intervening frames of video may also be captured between each of the frames 400 a-400 d, resulting in a captured video having additional frames (e.g., with a frame rate of 24, 30, or 60 frames per second).

As disclosed in the frame 400 a of FIG. 4A, the trainer 108 a may be performing a workout by running a marathon along the path 406. As disclosed in the frame 400 a, the user 109 b may be running on his treadmill 120 d at a 0.5% incline at a speed of 4.3 mph. Further, as disclosed in the leaderboard 420 a, the user 109 b may be competing against at least nine other users on their respective treadmills (and potentially other users as well), including the user 109 a on the treadmill 120 a. These other users may be performing their workouts on their treadmills simultaneously with the user 109 b with their real-time performance being reflected in the leaderboard 420 a, or they may have performed their workouts on their treadmills previously with the prior recorded performance being reflected in the leaderboard 420 a, or some users may be performing their workouts in real-time while others may have performed their workouts previously. When another user performed their workout previously, their performance on the leaderboard 420 a may reflect their prior performance at the same point in time of the workout (e.g., by virtually shifting the start time of the earlier performance to match the start time of the later performance so the two performances can be compared). Thus, the performance of each of the users listed in the leaderboard 420 a may reflect their performance during the workout at the point where 22 minutes and 30 seconds were remaining in the workout, regardless of whether they are preforming the workout in real-time or performed the workout previously.

As disclosed in FIG. 4A, the leaderboard 420 a includes an Athletes label under which a numerical ranking of each user is listed (with the exception of the number one, which is represented by a crown, because the first place user is sometimes referred to as “the king” or “the queen”). The leaderboard 420 a also includes a filter 418 which allows the leaderboard 420 a to be filtered by different filter criteria. This filter criteria may allow, for example, subsets of users to appear in the leaderboard 420 a instead of all users, such as only males or females, only users of a certain age or age range, only users of a specified fitness level, only users designated as friends in the subscription service (or users being “followed” by the user in the subscription service), only users with specified equipment (e.g., specified by brand, model, and/or category, in some cases to only compare against identical exercise machines), only users with a specified workout history (e.g., only users who completed the same workout within a time period such as 30 days or one year), only users who do, or do not, have an associated irregularity flag, only users that have, or have not, completed the workout (e.g., to filter out users who only partially completed the workout), only the user themself (e.g., where a user completed the same workout previously, and would now like to only compete with their own previous performance in the leaderboard), or some combination therefore. In some embodiments, even if the user setting the filter criteria does not fit the specified filter criteria, the user will nevertheless be displayed in the leaderboard 420 a. Further, the leaderboard 420 a includes a distance button 430 and an elevation gain button 432. When selected, these buttons re-rank the leaderboard 420 a based on distance (which on an exercise bike may be calculated based both on pedaling speed and resistance) or elevation gain, respectively. In some embodiments, other workouts may include other buttons that re-rank the leaderboard based on other criteria such as calories burned, watts, joules, effort score (which may normalize for differences in fitness levels among users), average workload, average speed, etc. In some embodiments, the ranking and/or filter criteria of the leaderboard may be modified in real-time by the user throughout the workout.

Further, as disclosed in the leaderboard 420 a, with 22 minutes and 30 seconds remaining in the workout, the user 109 b (named Brent S. with performance indicators 422, which include a current or average speed in miles per hour and a total distance in miles) sits atop the leaderboard 420 a due to the fact that Brent S. has run further during the workout than any other user. In other words, at the time of the leaderboard 420 a, Brent S. is in first place in the leaderboard 420 a (represented by a crown), while user 109 a (named Luis M. with performance indicators 424) is in second place, and Jay C. (with performance indicators 426) is in third place.

As disclosed in the frame 400 b of FIG. 4B, the user 109 b may be running on his treadmill 120 d at a 0.5% incline at a speed of 6.7 mph. Further, as disclosed in the leaderboard 420 b, with 18 minutes and 45 seconds remaining, the user 109 b (Brent S. with the performance indicators 422) still sits atop the leaderboard 420 b due to the fact that Brent S. has run further during the workout than any other user. In other words, at the time of the leaderboard 420 b, Brent remains in first place in the leaderboard 420 b (represented by a crown), while user 109 a (Luis M. with the performance indicators 424) remains in second place, and Jay C. (with the performance indicators 426) remains in third place.

As disclosed in the frame 400 c of FIG. 4C, the user 109 b may be running on his treadmill 120 d at a 4.5% incline at a speed of 4.2 mph. Further, as disclosed in the leaderboard 420 c, with 16 minutes and 30 seconds remaining, the user 109 b (Brent S. with the performance indicators 422) no longer sits atop the leaderboard 420 b due to the fact that user 109 a (Luis M. with the performance indicators 424) has purportedly run further during the workout than Brent S. and than any other user. In other words, at the time of the leaderboard 420 c, Luis M. is now in first place in the leaderboard 420 c (represented by a crown), while Brent S. has moved to second place, with Jay C. (with the performance indicator 426) remaining in third place.

However, due to one or more irregularities having been detected during the workout of Luis M. (with the performance indicators 424) sometime between the times of the frame 400 b and the frame 400 c (e.g., it was detected that Luis M. manually caused the running deck 126 k of the treadmill 120 d to operate at only a 1% incline instead of the prescribed 4.5% incline), the leaderboard 420 c has been updated to display an irregularity flag 427 associated with the performance indicators 424 of Luis M., to indicate one or more irregularities in the performance of Luis M. during the workout. Thus, the irregularity flag 427 serves to alert all of the users, and anyone else viewing the leaderboard 420 c, that one or more irregularities were detected sometime during the workout performed by Luis M., and therefore the ranking of Luis M. in first place may not be a legitimate ranking.

As disclosed in the frame 400 d of FIG. 4D, the user 109 b may be running on his treadmill 120 d at a 4.5% incline at a speed of 8.0 mph. Further, as disclosed in the leaderboard 420 d, with 13 minutes remaining, the user 109 b (Brent S. with the performance indicators 422) remains in second place on the leaderboard 420 d due to the fact that user 109 a (Luis M. with the performance indicators 424) has purportedly run further during the workout than Brent S. and than any other user. In other words, at the time of the leaderboard 420 d, Luis M. remains in first place in the leaderboard 420 d (represented by a crown), while Brent S. remains in second place, and Jay C. (with the performance indicator 426) remains in third place.

However, due to one or more irregularities having been detected in the performance of Luis M. (with the performance indicators 424) sometime previously in the workout, such as between the times of the frame 400 b and the frame 400 c, the leaderboard 420 c continues to display an irregularity flag 427 associated with the performance indicators 424 of Luis M., to indicate one or more irregularities in the performance of Luis M. during the workout. Thus, the irregularity flag 427 serves to alert all of the users, and anyone else viewing the leaderboard 420 d, that one or more irregularities were detected sometime during the workout performed by Luis M., and therefore the ranking of Luis M. in first place may not be a legitimate ranking.

It is understood that leaderboards similar to the leaderboards 420 a-420 d shown on the display of the user 109 b in FIGS. 4A-4D may also be shown in the displays of the user 109 a and all other users when performing the same video workout program, where live or archived.

FIG. 5 illustrates a flowchart of an example method 500 for updating a leaderboard in an exercise machine system with an irregularity flag. The method 500 may be performed, in some embodiments, by one or more applications, devices, or systems, such as by the video cameras 106 a-106 b, the computer 114, the remote server 112, the local server 116, the exercise machines 120 a-120 d, the consoles 122 a-122 d, and/or the tablet 124, or some combination thereof. In these and other embodiments, the method 500 may be performed by one or more processors based on one or more computer-readable instructions stored on one or more non-transitory computer-readable media. The method 500 will now be described in connection with FIGS. 1, 2, 3A-3D, 4A-4D, and 5 .

Prior to the method 500, multiple users, such as the user 109 a and 109 b, may be subscribed to a subscription service (e.g., an IFIT account) that allows the users to have access to video workout programs, and the users may have logged in, or signed in, to this subscription service. This subscription service may store user profiles, as well as history information related to each user's sleep, nutrition, stress levels, exercise, wellness, and activity levels (which may be gathered automatically via sensors, or manually entered by the users). This profile and history information may be accessed to recommend particular video workout programs that will best help each user to achieve fitness goals set by the user or automatically generated for the user. By providing high quality video workout programs, a user may be incentivized to continue subscribing, and a retention rate for subscribers may be positively impacted. Further, some video workout programs employed using the method 500 may be accessed by user using a pay-per-view model rather than an ongoing subscription model. For example, a pay-per-view model may be appropriate for rare events or classes, or for one-on-one training sessions between a single trainer and a single user.

Further, prior to the method 500, video may be captured, exercise machine control commands may be encoded into the video to create a video workout program, and the video workout program may be transmitted to first and second exercise machines. For example, the video camera 106 a may be employed by the videographer 110 a to capture video of the trainer 108 a performing a workout. In this example, the workout being performed by the trainer 108 a may be running a marathon, and the video may be transmitted from the video camera 106 a to the remote server 112 for further processing. Then, the computer 114 may be employed by a producer to encode exercise machine control commands into the video (such as in a subtitle stream of the video) to create a video workout program, which is then transmitted to multiple exercise machines (such as the treadmills 120 a and 120 d). In some embodiments, the exercise machine control commands may be configured to control a speed of one or more moveable members of the exercise machines and/or an incline percentage of one or more moveable members of the exercise machines. For example, the CSV encoding 305 a, 305 b, 305 c, or 305 d may include a control command configured to control the speed (e.g., in the 2^(nd) position of the CSV encoding) of the running belts 126 a and 126 j of the treadmills 120 a and 120 d, as well as a control command configured to control the incline percentage (e.g., in the 3^(rd) position of the CSV encoding) of the running decks 126 b and 126 k of the treadmills 120 a and 120 d. In some embodiments, changes in the exercise machine control commands may be synchronized with associated changes in a workout depicted in the video. For example, as the trainer 108 a changes from running on a 0.5% incline to running on a 4.5% incline, which change is depicted in frames 300 b and 300 c of the video, the exercise machine control commands that are encoded with the frames 300 b and 300 c may be synchronized to reflect this change, namely, that the incline percentage should change from 0.5% to 4.5% (compare the 3^(rd) position of the CSV encoding 305 b to the 3^(rd) position of the CSV encoding 305 c).

The method 500 may include, at action 502, executing a video workout program to enable a first user to perform a workout on the first exercise machine. In some embodiments, the video workout program may include a video that depicts a trainer performing the workout and exercise machine control commands corresponding to the depiction of the trainer performing the workout in the video. In some embodiments, the executing video workout program may continuously control one or more first moveable members of the first exercise machine using the exercise machine control commands. In some embodiments, the video workout program is a live video workout program. In some embodiments, the video workout program is an archived video workout program. For example, the console 122 a of the treadmill 120 a may execute, at action 502, a video workout program. The video workout program may include a video that includes the frames 500 a-500 d (as well as intervening frames) that depict the trainer 108 a performing a workout that includes running a marathon. This executing video workout program may enable the user 109 a to perform the workout depicted by the trainer 108 a on the treadmill 120 a automatically (e.g., the speed and incline of the treadmill 120 a may be adjusted automatically based on the exercise machine control commands associated with the video workout program).

The method 500 may include, at action 504, monitoring first performance parameters of the first user during the execution of the video workout program. For example, the console 122 a of the treadmill 120 a, the local server 116, or the remote server 112, or some combination thereof, may monitor, at action 504, first performance parameters of the user 109 a during the execution of the video workout program on the treadmill 120 a. The performance parameters may include performance parameters automatically gathers by sensors in the treadmill 120, sensors worn by the user 109 a, or other sensors.

The method 500 may include, at action 506, executing the video workout program to enable a second user to perform the workout on the second exercise machine. For example, the console 122 d of the treadmill 120 d may execute, at action 506, the same video workout program executed at action 502 by the console 122 a of the treadmill 120 a. This executing video workout program may enable the user 109 b to perform the workout depicted by the trainer 108 a on the treadmill 120 d automatically. This executing at action 506 may be performed simultaneously with the executing at action 502 (e.g., in a live competition or class) or may be performed before or after the executing at action 502 (e.g., in an archived competition or class). The treadmill 120 d may be located locally, to or remotely from, the treadmill 120 a.

The method 500 may include, at action 508, monitoring second performance parameters of the second user during the execution of the video workout program. For example, the console 122 d of the treadmill 120 d, the local server 116, or the remote server 112, or some combination thereof, may monitor, at action 508, second performance parameters of the user 109 b during the execution of the video workout program on the treadmill 120 d.

The method 500 may include, at action 510, generating a leaderboard which displays and ranks first and second performance indicators of the first and second users based on the first and second performance parameters. For example, the consoles 122 a and 122 d, the local server 116, or the remote server 112, or some combination thereof, may generate, at action 510, the leaderboards 420 a and 420 b which display and rank performance indicators 422 and 424 of the users 109 a and 109 b based on the first and second performance parameters.

The method 500 may include, at action 512, displaying the leaderboard. For example, the consoles 122 a and 122 d of the treadmills 120 a and 120 d may display the leaderboard 420 b along with the frame 400 b of the video of the video workout program.

The method 500 may include, at action 514, detecting an irregularity in the first performance parameters of the first user. In some embodiments, the action 514 may include detecting that the video workout program was manually paused on the first exercise machine, detecting that an incline of the first exercise machine was manually decreased during the execution of the video workout program on the first exercise machine, detecting that a resistance of the first exercise machine was manually decreased during the execution of the video workout program on the first exercise machine, detecting that a speed of a running belt of a first treadmill was manually decreased during the execution of the video workout program on the first treadmill, detecting that the first user unexpectedly stepped off of a running belt during the execution of the video workout program on a first treadmill, or detecting that the first user manually overrode control by the exercise machine control commands of the video workout program of the one or more first moveable members of the first exercise machine during the execution of the video workout program on the first exercise machine, or some combination thereof. In some embodiments, detecting that the first user unexpectedly stepped off of a running belt during the execution of the video workout program on a first treadmill may include employing a camera at the first treadmill to automatically capture one or more images of the first user unexpectedly absent from the running belt, employing a heart rate monitor to automatically detect an irregular decrease in a heart rate of the first user, or employing a current sensor on the electric motor of the first treadmill to automatically detect an irregular decrease in a current drawn to drive the electric motor, or some combination thereof. In some embodiments, the action 514 may include detecting that the first user is impersonating an expected user during the execution of the video workout program (which may be accomplished by employing a current sensor on an electric motor of a first treadmill to automatically detect an irregular current drawn to drive the electric motor based on an expected weight of the expected user, employing a camera and facial recognition techniques to automatically detect that a face of the first user does not match an expected face of the expected user, or employing a heart rate monitor at the first exercise machine to automatically detect that a heart rate pattern of the first user does not match an expected heart rate pattern of the expected user, or some combination thereof). For example, the console 122 a, the local server 116, or the remote server 112, or some combination thereof, may detect, at action 514, an irregularity in the first performance parameters of the user 109 a (Luis M.). This detecting may include detecting that Luis M. manually paused the video workout program on the treadmill 120 a or unexpectedly stepped off of the running belt 126 a (e.g., by standing on either side of the running belt 126 a on the running deck 126 b) during the execution of the video workout program (e.g., allowing Luis M. to rest and regain his strength while other users continued to run without any rest, thus giving Luis M. an unfair advantage). Also, this detecting may include detecting that Luis M. manually decreased the incline of the running deck 126 b of the treadmill 120 a from 4.5% to 1% (e.g., allowing Luis M. to run at an easier incline than other users, thus giving Luis M. an unfair advantage). Further, this detecting may include detecting that Luis M. manually decreased the speed of the running belt 126 a of the treadmill 120 a (e.g., allowing Luis M. to run at an easier speed than other users, thus giving Luis M. an unfair advantage). Further, this detecting may include detecting that the user representing himself to be Luis M. (e.g., by initially logging in or signing in to IFIT with the credentials of Luis M.) is not actually Luis M. (e.g., allowing a more fit user to impersonate Luis M. while other users are legitimately performing the workout themselves, thus giving Luis M. an unfair advantage).

The method 500 may include, at action 516, updating the leaderboard to include an irregularity flag associated with the first performance indicator of the first user. In some embodiments, this irregularity flag may indicate the irregularity in the performance of the first user during the workout. In some embodiments, the irregularity flag may include a colored shape (e.g., a red square or a yellow circle) displayed with the first performance indicator of the first user. In some embodiments, only irregularities that make the workout easier result in the leaderboard being updated to include an irregularity flag. In other embodiments, only irregularities that make the workout harder result in the leaderboard being updated to include an irregularity flag. In some embodiments, only irregularities that move a user higher on the leaderboard result in the leaderboard being updated to include an irregularity flag (e.g., if the leaderboard is ranked based on average speed, and the user manually decreases their speed, even though the workout becomes easier for the user, the user will move lower on the leaderboard due to their slower speed so no irregularity flag may be displayed). In some embodiments, any manual adjustment of the exercise machine (e.g., when the exercise machine is placed in manual mode), instead of allowing the video workout program to automatically adjust the exercise machine, may result in the leaderboard being updated to include an irregularity flag. For example, the console 122 a, the local server 116, or the remote server 112, or some combination thereof, may update, at action 516, the leaderboard 420 b to include an irregularity flag 427 (as disclosed in leaderboard 420 c) associated with the first performance indicator of the user 109 a (Luis M.) to indicate the irregularity detected at action 514.

The method 500 may include, at action 518, displaying the updated leaderboard. For example, the consoles 122 a and 122 d of the treadmills 120 a and 120 d may display, at action 518, the leaderboard 420 c, including the irregularity flag 427 (illustrated as a yellow circle) displayed with the first performance indicators 424, along with the frame 400 c of the video of the video workout program.

The method 500 may include, at action 520, storing the irregularity flag associated with the first performance indicator of the first user. In some embodiments, the action 520 may include storing the irregularity flag associated with the first performance indicator of the first user with an archived version of the leaderboard for the video workout program executed on the first exercise machine, and/or with an archived version of the first performance parameters for the video workout program executed on the first exercise machine. For example, the consoles 122 a and 122 b, the local server 116, or the remote server 112, or some combination thereof, may store, at action 520, the irregularity flag 127 associated with the first performance indicator 424 of the user 109 a (Luis. M.) with an archived version of the video workout program. Storing the irregularity flag 127 may allow the irregularity flag 127 to be viewed by all future users in some embodiments (such as during future performances of the video workout program or in any history of the video workout program).

In some embodiments, the method 500 may result in the leaderboard 420 b being updated in leaderboard 420 c with an irregularity flag 427 for Luis M. For example, while the leaderboards 400 a-400 c are continuously ranking users based on some performance parameter (e.g., miles run), any irregularities in the performance parameters of the users may be detected, and the leaderboard may be updated with an irregularity flag 427 (e.g., a yellow circle) for users such as Luis M. to indicate the irregularity in the performance of Luis M. during the workout. Displaying Luis M. on the leaderboard 420 c with an irregularity flag may lessen or eliminate the frustration and sense of unfairness felt by other users, such as Brent S., who follow the workout prescribed in a video workout program. As such, effectively employing the irregularity flag 427 on the leaderboard 420 c may allow Brent S. to have greater trust in the leaderboard rankings, and may allow Brent S. to connect to other users and may make the workout on the treadmill 120 d more fun.

Although the actions of the method 500 are illustrated in FIG. 5 as discrete actions, various actions may be divided into additional actions, combined into fewer actions, reordered, expanded, or eliminated, depending on the desired implementation. For example, in some embodiments, actions 502, 504, 506, 508, and 518 may be performed without performing the other actions of the method 500. Further, in some embodiments, actions 510, 514, and 516 may be performed without performing the other actions of the method 500.

FIG. 6 illustrates an example computer system 600 that may be employed in updating a leaderboard in an exercise machine system with an irregularity flag. In some embodiments, the computer system 600 may be part of any of the systems or devices described in this disclosure. For example, the computer system 600 may be part of any of the video cameras 106 a-106 b, the computer 114, the remote server 112, the local server 116, the exercise machines 120 a-120 d, the consoles 122 a-122 d, or the tablet 124 of FIG. 1 .

The computer system 600 may include a processor 602, a memory 604, a file system 606, a communication unit 608, an operating system 610, a user interface 612, and an application 614, which all may be communicatively coupled. In some embodiments, the computer system may be, for example, a desktop computer, a client computer, a server computer, a mobile phone, a laptop computer, a smartphone, a smartwatch, a tablet computer, a portable music player, an exercise machine console, a video camera, or any other computer system.

Generally, the processor 602 may include any suitable special-purpose or general-purpose computer, computing entity, or processing device including various computer hardware or software applications and may be configured to execute instructions stored on any applicable computer-readable storage media. For example, the processor 602 may include a microprocessor, a microcontroller, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a Field-Programmable Gate Array (FPGA), or any other digital or analog circuitry configured to interpret and/or to execute program instructions and/or to process data, or any combination thereof. In some embodiments, the processor 602 may interpret and/or execute program instructions and/or process data stored in the memory 604 and/or the file system 606. In some embodiments, the processor 602 may fetch program instructions from the file system 606 and load the program instructions into the memory 604. After the program instructions are loaded into the memory 604, the processor 602 may execute the program instructions. In some embodiments, the instructions may include the processor 602 performing one or more actions of the method 500 of FIG. 5 .

The memory 604 and the file system 606 may include computer-readable storage media for carrying or having stored thereon computer-executable instructions or data structures. Such computer-readable storage media may be any available non-transitory media that may be accessed by a general-purpose or special-purpose computer, such as the processor 602. By way of example, and not limitation, such computer-readable storage media may include non-transitory computer-readable storage media including Read-Only Memory (ROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), Compact Disc Read-Only Memory (CD-ROM) or other optical disk storage, magnetic disk storage or other magnetic storage devices, flash memory devices (e.g., solid state memory devices), or any other storage media which may be used to carry or store desired program code in the form of computer-executable instructions or data structures and which may be accessed by a general-purpose or special-purpose computer. Combinations of the above may also be included within the scope of computer-readable storage media. Computer-executable instructions may include, for example, instructions and data configured to cause the processor 602 to perform a certain operation or group of operations, such as one or more actions of the method 500 of FIG. 5 . These computer-executable instructions may be included, for example, in the operating system 610, in one or more applications, or in some combination thereof.

The communication unit 608 may include any component, device, system, or combination thereof configured to transmit or receive information over a network, such as the network 118 of FIG. 1 . In some embodiments, the communication unit 608 may communicate with other devices at other locations, the same location, or even other components within the same system. For example, the communication unit 608 may include a modem, a network card (wireless or wired), an infrared communication device, a wireless communication device (such as an antenna), and/or chipset (such as a Bluetooth device, an 802.6 device (e.g., Metropolitan Area Network (MAN)), a WiFi device, a WiMax device, a cellular communication device, etc.), and/or the like. The communication unit 608 may permit data to be exchanged with a network and/or any other devices or systems, such as those described in the present disclosure.

The operating system 610 may be configured to manage hardware and software resources of the computer system 600 and configured to provide common services for the computer system 600.

The user interface 612 may include any device configured to allow a user to interface with the computer system 600. For example, the user interface 612 may include a display, such as an LCD, LED, or other display, that is configured to present video, text, application user interfaces, and other data as directed by the processor 602. The user interface 612 may further include a mouse, a track pad, a keyboard, a touchscreen, volume controls, other buttons, a speaker, a microphone, a camera, any peripheral device, or other input or output device. The user interface 612 may receive input from a user and provide the input to the processor 602. Similarly, the user interface 612 may present output to a user.

The application 614 may be one or more computer-readable instructions stored on one or more non-transitory computer-readable media, such as the memory 604 or the file system 606, that, when executed by the processor 602, is configured to perform one or more actions of the method 500 of FIG. 5 . In some embodiments, the application 614 may be part of the operating system 610 or may be part of an application of the computer system 600, or may be some combination thereof.

INDUSTRIAL APPLICABILITY

Various modifications to the embodiments illustrated in the drawings will now be disclosed.

In general, some example methods disclosed herein may enable a user ranked on a leaderboard to be displayed with an irregularity flag where some irregularity is detected in the user's performance. For example, when an irregularity in the performance parameters of the user is detected (e.g., detecting that the user manually decreased the incline percentage on their treadmill, resulting in the user no longer fairly competing against other users who maintained their incline percentage at the prescribed percentage), the listing of the user on the leaderboard may be updated to display an irregularity flag (e.g., a red square or a yellow circle) to indicate the irregularity in the performance of the first user during the workout. Displaying any user with detected irregularities in their performance parameters on the leaderboard with an irregularity flag may lessen or eliminate the frustration and sense of unfairness felt by users who follow the workout prescribed in a video workout program.

In some embodiments, each time an irregularity flag is generated for a user, the details that led to the generation of the irregularity flag may be stored and analyzed. This storing and analyzing may result in the generation of a reputation score with regard to irregularities. Thus, each user may have a reputation score generated and continually updated that indicates the extent to which the user typically complies with the prescribed parameters of video workout programs. This reputation score may be affected differently for different types of irregularities (e.g., a user pausing a workout may negatively affect the score much less than a user employing user impersonation or allowing a running belt to run after having stepped away from the machine). This reputation score may then be used as a filter criteria to allow users to exclude users with reputation scores below a certain score threshold from appearing in a leaderboard. This reputation score may be expressed as a percentage, or as a number of stars (e.g., from one star being a bad reputation to five stars being a good reputation). This reputation score may also be displaying in a leaderboard to allow users to be visually compared, or even ranked, based on their reputations. Further, this storing may allow each irregularity flag to be linking to the details that led to the irregularity flag, which may allow users to simply select an irregularity flag in the display of a leaderboard and to then be presented with these details, in a pop-up window for example. Additionally or alternatively, the details that led to the irregularity flag may appear in any general listing of user statistics that are generally linked to the performance indicator of a user listed in a leaderboard. In these embodiments, a process may be established for a user to challenge or appeal the generation of any particular irregularity flag in an effort to remove an irregularity flag from a particular leaderboard. For example, where an irregularity was detected during a workout due to some sort of equipment or communication failure, but the user legitimately performed the workout within the prescribed parameters, the user may appeal to an arbitrator of the subscription service to have the irregularity flag for workout removed, and also to have any negative effect of the irregularity flag removed from the user's reputation score.

In some embodiments, a variety of different irregularity flags may be employed to represent different types of irregularities. For example, different colors, shapes, or sizes, or some combination thereof, may be employed to represent different types of irregularities. Irregularities may be categorized by severity (e.g., ranging from unintentional behavior to intentional behavior), length of time (e.g., ranging from short to long breaks during the workout), impact (e.g., ranging from minimum to maximum impact of the irregularity on movement within the rankings in the leaderboard), etc.

In some embodiments, the leaderboard may be displayed to the side of the video in a video workout program, rather than overlaying the video. Further, in some embodiments, the leaderboard may be displayed in a partially-transparent matter to allow the underlying video to be at least partially viewed by the user even with the leaderboard is overlaying a portion of the video. Further, the leaderboard may be repositionable by the user and/or may be hidden and unhidden by the user (e.g., by swiping the leaderboard right and left on a touchscreen to hide and unhide the leaderboard).

In some embodiments, multiple users may simultaneously appear with irregularity flags in a leaderboard. Also, where an irregularity is detected that involves multiple users, the irregularity flags of the affected users may be visually linked together (e.g., where multiple users all took a break at the same time and for the same duration during a workout).

In accordance with common practice, the various features illustrated in the drawings may not be drawn to scale. The illustrations presented in the present disclosure are not meant to be actual views of any particular apparatus (e.g., device, system, etc.) or method, but are merely example representations that are employed to describe various embodiments of the disclosure. Accordingly, the dimensions of the various features may be arbitrarily expanded or reduced for clarity. In addition, some of the drawings may be simplified for clarity. Thus, the drawings may not depict all of the components of a given apparatus (e.g., device) or all operations of a particular method.

Terms used herein and especially in the appended claims (e.g., bodies of the appended claims) are generally intended as “open” terms (e.g., the term “including” should be interpreted as “including, but not limited to,” the term “having” should be interpreted as “having at least,” the term “includes” should be interpreted as “includes, but is not limited to,” etc.).

Additionally, if a specific number of an introduced claim recitation is intended, such an intent will be explicitly recited in the claim, and in the absence of such recitation no such intent is present. For example, as an aid to understanding, the following appended claims may contain usage of the introductory phrases “at least one” and “one or more” to introduce claim recitations. However, the use of such phrases should not be construed to imply that the introduction of a claim recitation by the indefinite articles “a” or “an” limits any particular claim containing such introduced claim recitation to embodiments containing only one such recitation, even when the same claim includes the introductory phrases “one or more” or “at least one” and indefinite articles such as “a” or “an” (e.g., “a” and/or “an” should be interpreted to mean “at least one” or “one or more”); the same holds true for the use of definite articles used to introduce claim recitations.

In addition, even if a specific number of an introduced claim recitation is explicitly recited, it is understood that such recitation should be interpreted to mean at least the recited number (e.g., the bare recitation of “two recitations,” without other modifiers, means at least two recitations, or two or more recitations). Furthermore, in those instances where a convention analogous to “at least one of A, B, and C, etc.” or “one or more of A, B, and C, etc.” is used, in general such a construction is intended to include A alone, B alone, C alone, A and B together, A and C together, B and C together, or A, B, and C together, etc. For example, the use of the term “and/or” is intended to be construed in this manner.

Further, any disjunctive word or phrase presenting two or more alternative terms, whether in the summary, detailed description, claims, or drawings, should be understood to contemplate the possibilities of including one of the terms, either of the terms, or both terms. For example, the phrase “A or B” should be understood to include the possibilities of “A” or “B” or “A and B.”

Additionally, the use of the terms “first,” “second,” “third,” etc., are not necessarily used herein to connote a specific order or number of elements. Generally, the terms “first,” “second,” “third,” etc., are used to distinguish between different elements as generic identifiers. Absence a showing that the terms “first,” “second,” “third,” etc., connote a specific order, these terms should not be understood to connote a specific order. Furthermore, absence a showing that the terms “first,” “second,” “third,” etc., connote a specific number of elements, these terms should not be understood to connote a specific number of elements. For example, a first widget may be described as having a first side and a second widget may be described as having a second side. The use of the term “second side” with respect to the second widget may be to distinguish such side of the second widget from the “first side” of the first widget and not to connote that the second widget has two sides.

The foregoing description, for purpose of explanation, has been described with reference to specific embodiments. However, the illustrative discussions above are not intended to be exhaustive or to limit the invention as claimed to the precise forms disclosed. Many modifications and variations are possible in view of the above teachings. The embodiments were chosen and described to explain practical applications, to thereby enable others skilled in the art to utilize the invention as claimed and various embodiments with various modifications as may be suited to the particular use contemplated. 

1-20. (canceled)
 21. A method, comprising: receiving a plurality of performance parameters for a plurality of users operating a plurality of exercise machines; generating a leaderboard which displays and ranks the plurality of performance parameters; detecting an irregularity in at least one of the plurality of performance parameters; and updating the leaderboard to include an irregularity flag associated with the at least one of the plurality of performance parameters.
 22. The method of claim 21, wherein receiving the plurality of performance parameters includes receiving the plurality of performance parameters from a sensor on the plurality of exercise machines.
 23. The method of claim 22, wherein the sensor includes at least one of a camera, a heart rate monitor, or a current sensor on an electric motor of one of the plurality of exercise machines.
 24. The method of claim 21, wherein receiving the plurality of performance parameters includes monitoring the plurality of performance parameters.
 25. The method of claim 21, further comprising: transmitting the leaderboard to the plurality of exercise machines; and transmitting the updated leaderboard to the plurality of exercise machines.
 26. The method of claim 25, wherein the plurality of exercise machines each display the leaderboard and the updated leaderboard on a display.
 27. The method of claim 21, wherein detecting the irregularity includes detecting a manual change to an operating parameter of an exercise machine of the plurality of exercise machines.
 28. The method of claim 21, wherein detecting the irregularity includes detecting that a user is impersonating an expect user of an exercise machine of the plurality of exercise machines.
 29. A system, comprising: a processor and memory, the memory including instructions that cause the processor to: receive a plurality of performance parameters for a plurality of users operating a plurality of exercise machines; generate a leaderboard which displays and ranks the plurality of performance parameters; detect an irregularity in at least one of the plurality of performance parameters; and update the leaderboard to include an irregularity flag associated with the at least one of the plurality of performance parameters.
 30. The system of claim 29, wherein receiving the plurality of performance parameters includes receiving the plurality of performance parameters from a sensor on the plurality of exercise machines.
 31. The system of claim 30, wherein the sensor includes at least one of a camera, a heart rate monitor, or a current sensor on an electric motor of one of the plurality of exercise machines.
 32. The system of claim 29, wherein receiving the plurality of performance parameters includes monitoring the plurality of performance parameters.
 33. The system of claim 29, wherein the memory includes instructions that further cause the processor to: transmit the leaderboard to the plurality of exercise machines; and transmit the updated leaderboard to the plurality of exercise machines.
 34. The system of claim 33, wherein the plurality of exercise machines each display the leaderboard and the updated leaderboard on a display.
 35. The system of claim 29, wherein detecting the irregularity includes detecting a manual change to an operating parameter of an exercise machine of the plurality of exercise machines.
 36. The system of claim 29, wherein detecting the irregularity includes detecting that a user is impersonating an expect user of an exercise machine of the plurality of exercise machines.
 37. A method implemented at an exercise device, comprising: generating performance parameters for a user operating the exercise device in accordance with an exercise program, the performance parameters including exercise information for said user; transmitting the performance parameters to an exercise server, the exercise server generating a leaderboard; receiving the leaderboard from the exercise server and displaying the leaderboard on a display of the exercise device; identifying a manual adjustment to the exercise program, the manual adjustment resulting in modified performance parameters; transmitting the modified performance parameters to the exercise server, the exercise server generating an updated leaderboard including an irregularity flag associated with the modified performance parameters; and receiving the updated leaderboard and displaying the updated leaderboard on the display.
 38. The method of claim 37, wherein the irregularity flag is associated with a type of the manual adjustment.
 39. The method of claim 38, wherein the irregularity flag is only associated with the type of the manual adjustment that makes the exercise program easier.
 40. The method of claim 38, wherein the irregularity flag is only associated with the type of the manual adjustment that moves said user up the leaderboard. 